package top.wshape1.rpc.message.serializer;

/**
 * @author Wshape1
 * @version 1.0
 * @description
 * @since 2024-02-02
 */

public interface Serializer {

    /**
     * 序列化
     *
     * @param object 需要序列化的对象
     * @return  byte array
     */
    <T> byte[] serialize(T object);

    /**
     * 反序列化
     *
     * @param bytes 被序列化后的byte array
     * @param clazz 对象类型
     * @param <T> 对象类型
     * @return 对象
     */
    <T> T deserialize(byte[] bytes, Class<T> clazz);

}
